/*
 * 	Planification de trajectoires			COTTRET Mathieu et MARTIN Remi
 * 
 * 	Classe ControleurObjectif
 */

package controleur;

import modele.Objectif;

public class ControleurObjectif {
	// Variable(s) d'instance
	private final Objectif objectif;
	
	// Constructeur(s)
	public ControleurObjectif(ControleurCoordonnee depart, ControleurCoordonnee arrivee) {
		this.objectif = new Objectif(depart, arrivee);
	}
	
	// Methode(s)
	public ControleurCoordonnee getDepart() {
		return this.objectif.getDepart();
	}
	
	public ControleurCoordonnee getArrivee() {
		return this.objectif.getArrivee();
	}
	public int getXDepart() {
		return this.objectif.getDepart().getX();
	}
	
	public int getYDepart() {
		return this.objectif.getDepart().getY();
	}
	
	public int getXArrivee() {
		return this.objectif.getArrivee().getX();
	}
	
	public int getYArrivee() {
		return this.objectif.getArrivee().getY();
	}
	
	public void setArrivee(ControleurCoordonnee arrivee) {
		this.objectif.setArrivee(arrivee);
	}
	
	// Methode(s)
	public String toString() {
		return "{\n\t"+this.getDepart().toString()+"\n\t"+this.getArrivee().toString()+"\n}";
	}
	
	@Override
	public boolean equals(Object o) {
		boolean retour = false;
		if(o instanceof ControleurObjectif) {
			retour= this.getArrivee().equals(((ControleurObjectif) o).getArrivee()) && this.getDepart().equals(((ControleurObjectif) o).getDepart());
		}
		return retour;
	}
}
